其他
“网友:我差点以为你要倒闭了!”鸿星尔克捐款5000w后被网友微博评论笑哭...
文 | 酷头
目标确定
所以我们今天就把270000+网友的评论使用爬虫下载下来,看看大家都说了些什么?
需求分析
目标url如下:
https://m.weibo.cn/comments/hotflow?id=4661454088968882&mid=4661454088968882&max_id_type=0
为防止被反爬,我们还需添加headers模拟浏览器发送请求
所以第一步,先模拟浏览器获取这个json格式的数据集。
发送请求
请求代码如下:
url = 'https://m.weibo.cn/comments/hotflow?id=4661454088968882&mid=4661454088968882&max_id_type=0'
headers = {
'cookie': 'SUB=_2A25NyTOqDeRhGeVG7lAZ9S_PwjiIHXVvMl3irDV6PUJbktB-LVDmkW1NT7e8qozwK1pqWVKX_PsKk5dhdCyPXwW1; SUBP=0033WrSXqPxfM725Ws9jqgMF55529P9D9WFGibRIp_iSfMUfmcr5kb295NHD95Q01h-E1h-pe0.XWs4DqcjLi--fi-2Xi-2Ni--fi-z7iKysi--Ri-8si-zXi--fi-88i-zce7tt; _T_WM=98961943286; MLOGIN=1; WEIBOCN_FROM=1110006030; XSRF-TOKEN=70a1e0; M_WEIBOCN_PARAMS=oid%3D4648381753067388%26luicode%3D20000061%26lfid%3D4648381753067388%26uicode%3D20000061%26fid%3D4648381753067388',
'referer': 'https://m.weibo.cn/detail/4661454088968882',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4573.0 Safari/537.36'
}
resp = requests.get(url, headers=headers).json()
print(resp)
结果打印如下:
解析页面
上一步已经成功模拟浏览器获取到了数据。
接下来就是如何在其中提取出我们的目标数据
for item in wb_info:
user_id = item.get('user')['id'] # 用户id
author = item['user']['screen_name'] # 作者名称
auth_sign = item['user']['description'] # 作者座右铭
time = str(item['created_at']).split(' ')[1:4]
rls_time = '-'.join(time) # 发帖时间
text = ''.join(re.findall('[\u4e00-\u9fa5]', item['text'])) # 发帖内容
print(user_id, author, auth_sign, rls_time, text)
'''
5457161951 白不桃 halo.我是小白 Jul-21-23:15:20 娘嘞感觉你都要倒闭了还捐了这么多
2090450561 吴荣照 鸿星尔克实业董事长 简单 务实 进取 Jul-21-18:53:49 驰援灾区刻不容缓鸿星尔克心系灾区紧急捐赠万元物资河南加油中国加油
5809427008 Bettermfy 梦想总是遥不可及 Jul-21-23:21:18 明星万直接冲热搜良心企业万评论一百多点赞才两千我真的有点意难平
1733591242 小崔同学吖吖 平安喜乐,得偿所愿 Jul-21-23:16:17 怎么宣传下啊宝我都替你着急
2362503764 吴怼怼 日理万机的摄影白痴 Jul-21-18:13:28 国民品牌牛福建多家企业捐款驰援河南
2171593110 鸿星尔克官方微博 TO BE No.1 Jul-22-22:20:57 很多小伙伴问儿童产品尔克儿童尔克儿童看这里
3197694947 萧羽希- 🍀 Jul-21-23:25:43 感觉你们官微都舍不得开微博会员却捐了和安踏一样的五千万真的很了不起
3613082771 孙滢皓好皓皓 喜欢刘宇 孙滢皓 罗一舟 张杰 好感 白敬亭 磕左星佑你 烨斯 轻舟皓月! 雷缺德违法不正能量的一切 Jul-22-11:28:17 送了你三个月会员良心国货
3269016353 写意_life 摄影/最近热衷广播剧,写剧评中 Jul-21-21:21:41 鸿星尔克的鞋子真的好看又便宜做实体的企业能捐五千万真的很难得赞赞这得卖多少鞋呀
5466647896 秋思思思思思思思思 事不關己,高高掛起. Jul-22-01:09:19 宝你好糊我都替你着急啊买点营销吧一点点就好我怕你倒闭允悲
3516420945 豆奶拿铁去冰喏 2021必定去趟重庆/东宫女孩日常碎碎念/多喜乐长安宁 Jul-21-23:10:31 刚刚在新浪官博下面看到说贵公司捐了马上过来看看天哪你们捐的也太多了吧真的尽力就好傻眼傻眼傻眼
6401067300 韩艺琨 一宝 Jul-22-14:46:50 看过这个品牌老总吴荣照的故事当初他创业工厂生产的鞋一夜之间全被洪水泡了他自己淋过雨所以想给别人撑把伞泪
7468947078 小乖是自然卷呀 事在人为!Jul-22-13:37:57 知道吗
5062791347 我是Maxmeng 眼睛里有光的女孩子👧 Jul-21-23:30:53 从别的热门微博下面得知鸿星尔克捐款万低调的我都替你着急
5663079280 kennnnyibkf 祈求天地放过一双恋人 Jul-21-20:48:13 哇哇哇太棒了怎么不给自己宣传一下知道你们老实怎么说也营销一下呀
7517588037 孟方醒_ 未满18🚫 Q1558967897 Jul-21-23:16:43 鸿星尔克这种不算特别火的牌子捐万真的很多了
6287369555 张翼德o Jul-21-23:55:46 大哥你捐恁多我都不知道说啥了
6028193746 莫柏舟794 有些经历像风 Jul-21-23:06:24 不上热搜都对不起你泪
7426550888 夜晚揽你入怀 管 好 你 自 己 Jul-22-07:53:23 算我踏马求你的买点热搜吧我真的给您跪了隔壁一线明星一年挣的比你多的才五十万你挣到钱了吗泪泪
7211561788 zzhcgq 🍎🍏 Jul-22-00:26:49 趁着号天活动多买两双鞋本来打算支持另一家国产牌子的果断换你家的有社会责任心的国产品牌要越来越好赚更多钱赞赞赞
'''
数据成功获取!
https://m.weibo.cn/comments/hotflow?id=4661454088968882&mid=4661454088968882&max_id_type=0
https://m.weibo.cn/comments/hotflow?id=4661454088968882&mid=4661454088968882&max_id=4973543178586492&max_id_type=0
https://m.weibo.cn/comments/hotflow?id=4661454088968882&mid=4661454088968882&max_id=789901434028535&max_id_type=0
https://m.weibo.cn/comments/hotflow?id=4661454088968882&mid=4661454088968882&max_id=283713770568363&max_id_type=0
之后接着把内容使用openpyxl保存到Excel文件中,如下图所示。
ws = op.Workbook()
wb = ws.create_sheet(index=0)
wb.cell(row=1, column=1, value='用户id')
wb.cell(row=1, column=2, value='作者名称')
wb.cell(row=1, column=3, value='作者座右铭')
wb.cell(row=1, column=4, value='发帖时间')
wb.cell(row=1, column=5, value='发帖内容')
count = 2
wb.cell(row=count, column=1, value=user_id)
wb.cell(row=count, column=2, value=author)
wb.cell(row=count, column=3, value=auth_sign)
wb.cell(row=count, column=4, value=rls_time)
wb.cell(row=count, column=5, value=text)
ws.save('鸿星尔克.xlsx')
先来测试50页数据,总共获取到800+测试数据
词云展示
rcv_data = pd.read_excel('./鸿星尔克.xlsx')
exist_col = rcv_data.dropna() # 删除空行
c_title = exist_col['发帖内容'].tolist()
# 观影评论词云图
wordlist = jieba.cut(''.join(c_title))
result = ' '.join(wordlist)
pic = 'img1.jpg'
gen_stylecloud(text=result,
icon_name='fas fa-comment-dots',
font_path='msyh.ttc',
background_color='white',
output_name=pic,
custom_stopwords=['你', '我', '的', '了', '在', '吧', '相信', '是', '也', '都', '不', '吗', '就', '我们', '还', '大家', '你们', '就是', '以后']
)
print('绘图成功!')
妥妥的,支持就完事了!
1. 本文详细介绍了python爬虫获取微博短评并保存excel进行词云分析。
有兴趣的读者可以尝试自己动手练习一下。
2. 本文仅供读者学习使用,不做其他用途!
3. 右下角点亮[在看]
即可找我领取本文的全部代码呦!